const Koa=require("koa");
let app=new Koa();


app.use(async function(ctx,next){
    await next();
    console.log("响应时间:",ctx.responseTime);
});

//记录请求到响应的用时时长
app.use(async function(ctx,next){
    let start=Date.now();//当前时间的毫秒值
    await next();
    let end=Date.now();
    let ms=end-start;
    //中间件的参数传递，无法通过js常规方案
    // 如果确实需要在中间件中共享参数，可以通过ctx对象进行数据传递
    // 因为每个koa都有ctx综合对象，该对象记录了当前请求响应过程中的相关信息
    // 并且ctx对象在所有中间件中均可获取，通过该对象可以完成中间数据共享的传递操作
    ctx.responseTime=ms+"ms";//注意：避开ctx的内置属性名称



});
app.use(async function(ctx){
    console.log("处理响应结果");
    ctx.body="<h2 style='color:red;'>响应ok哈哈哈嘻嘻嘻asasasasas</h2>";
});
app.listen(3000);

